package com.ror.java.se.collection.set;

import java.util.Comparator;
import java.util.TreeSet;

//需求：存入四个字符串，“c"，“ab"，“df"，“qwer"
//     按照长度排序，如果一样长则按照首字母排序
//请自行选择比较器排序和自然排序两种方式

public class Demo05StringTreeSet {
    public static void main(String[] args) {

        //匿名内部类方式
//        TreeSet<String> strs = new TreeSet<>(new Comparator<String>() {
//            @Override
//            public int compare(String o1, String o2) {
//                //按照长度排序，如果一样长则按照首字母排序（默认方式，调用原来的compareTo方法即可）
//                int deltaLength = o1.length() - o2.length();
//                return deltaLength == 0 ? o1.compareTo(o2) : deltaLength;
//            }
//        });
        //lambda方式
        TreeSet<String> strs = new TreeSet<>((o1,o2)->{
            int deltaLength = o1.length() - o2.length();
            return deltaLength == 0 ? o1.compareTo(o2) : deltaLength;
        });
        strs.add("qwe");
        strs.add("c");
        strs.add("df");
        strs.add("ab");
        System.out.println(strs);
    }
}
